home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 359_11 / patch5.000 / DOCS_README < prev    next >
Text File  |  1991-09-11  |  25KB  |  621 lines

  1.  
  2. This is the README file for DJ's GCC port to DOS ("djgpp")
  3.  
  4. Contents:
  5.     * Overview
  6.     * What's available
  7.     * How to install
  8.     * Common questions
  9.     * Deviations and Caveats
  10.     * Copyright information
  11.  
  12. Disclaimer: This software is distributed WITHOUT ANY WARRANTY; without
  13. even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  14. PURPOSE.
  15.  
  16. DJ Delorie
  17. USmail: 24 Kirsten Ave, Rochester, NH 03867-2954, USA
  18. email:  dj@ctron.com
  19.  
  20.  
  21.  
  22.  
  23.  
  24. Overview:
  25.  
  26. This package contains a 32-bit 80386 DOS extender with symbolic
  27. debugger, a C/C++ compiler with utilities, development libraries, and
  28. source code.  It generates full 32-bit programs and supports full
  29. virtual memory with paging to disk. 
  30.  
  31. Requirements:
  32.  
  33. A 80386-based IBM compatible PC or PS/2, approximately 4-5Mb of hard
  34. drive space, and 512K RAM. 
  35.  
  36. Supported Wares:
  37.  
  38. * Up to 128M of extended memory (expanded under VCPI)
  39. * Up to 128M of disk space used for swapping
  40. * SuperVGA 256-color mode up to 1024x768
  41. * 80387
  42. * XMS & VDISK memory allocation strategies
  43. * VCPI programs, such as QEMM and 386MAX
  44.  
  45. Unsupported:
  46.  
  47. * DPMI programs, such as Windows 3.0
  48. * Multiprocessing (fork())
  49.  
  50.  
  51.  
  52.  
  53. File location:
  54.  
  55.     host:      grape.ecs.clarkson.edu
  56.     login:     ftp
  57.     password:  send your e-mail address
  58.     directory: ~ftp/pub/msdos/djgpp
  59.  
  60. Many thanks to the sysops at Clarkson for providing a home to djgpp!
  61.  
  62. As a convenience to non-FTP users, djgpp is also stored on Clarkson's
  63. archive server, sun.soe.clarkson.edu.  To access the archive server,
  64. do this:
  65.    % mail archive-server@sun.soe.clarkson.edu
  66.    Subject: <none>
  67.    help
  68.    index msdos/djgpp
  69.    ^D
  70.  
  71. NOTE: In accordance with FSF CopyLeft, you are not allowed to upload
  72. this program to a distribution site unless that site also makes the FSF
  73. sources for these programs available.  Please read the file COPYING for
  74. more details.  FSF sources are available on prep.ai.mit.edu, and on
  75. either grape.ecs.clarkson.edu or sun.soe.clarkson.edu
  76.  
  77. NOTE: If your application links in object modules that were written
  78. by FSF, your application counts as a "derived work" and must obey
  79. the provisions of the FSF Copyrights.  See the file COPYING for
  80. details.  Specifically, the C++ classes in libc.a and obstacks are
  81. FSF works that are covered by the GNU GPL.  The mere act of compiling
  82. does not affect the copyright status of your program.
  83.  
  84.  
  85. File formats:
  86.  
  87.     .ZIP format - djgpp.zip - one 2.2M file, contains everything.
  88.  
  89.     split .ZIP - djgppzip.000 through djgppzip.005 (or so), each
  90.                  320K-ish.  Use the merge program to merge them into 
  91.                  djgpp.zip ("merge djgppzip djgpp.zip").
  92.  
  93.     other - readme, merge.c/.exe, split.c/.exe are separately available
  94.  
  95.  
  96.  
  97. Directories:
  98.  
  99.     bin          all binaries (cpp, cc1, extender, etc)
  100.     lib          all libraries (crt0.*, libc.a, libgr.a, libpc.a)
  101.     include      all include files
  102.     docs         all documents (including this one)
  103.     go32         sources for the extender
  104.     drivers      various SuperVGA drivers
  105.     libsrc       sources for the libraries
  106.     diffs        diffs from FSF distributions to dos-compilable
  107.     utils        sources for the utilities
  108.     samples      sample C++ sources using graphics & mouse
  109.     emu387       80387 emulator for non-80387 systems
  110.  
  111.  
  112. bin:
  113.     bison.exe    lalr(1) parser
  114.     flex.exe     lexical parser
  115.     cpp.exe      C and C++ preprocessor
  116.     cc1.exe      C compiler
  117.     cc1plus.exe  C++ compiler
  118.     as.exe       80386/80387 assembler
  119.     ld.exe       a.out (BSD) format linker
  120.     ar.exe       archive utility
  121.     nm.exe       name list utility
  122.     size.exe     a.out section size utility
  123.     strip.exe    symbol stripper
  124.     objdump.exe  display info from .o file
  125.     gcc.exe      compilation coordinator
  126.     go32.exe     basic 32-bit DOS extender
  127.     debug32.exe  32-bit DOS extender with symbolic debugger
  128.     stub.exe     stub to prepend on aout files to make .exe files
  129.     aout2exe.bat turns aout file to .exe by prepending stub.exe
  130.     diff.exe     creates diffs, including context diffs
  131.     patch.exe    patches source from diffs, including context diffs
  132.     djtarx.exe   tar extractor for FSF tarfiles if you don't have a tar
  133.     utod.exe     convert Unix text files to DOS text files
  134.     dtou.exe     convert DOS text files to Unix text files
  135.     split.exe    split big binaries into many little binaries
  136.     merge.exe    merge many little binaries back into one big binary
  137.     gprof.exe    profile report generator
  138.  
  139. lib:
  140.  
  141.     libc.a       all standard routines (BSD style), and C++ methods & support
  142.     libm.a       math routines
  143.     libgr.a      graphics routines and mouse support
  144.     libpc.a      routines for PC support (in/out, getkey, kbhit, screen utils)
  145.     *_p.a        profiled libraries
  146.     crt0.s       C runtime source
  147.     crt0.o       C runtime object
  148.     bison.simple bison support
  149.     bison.hairy  bison support
  150.     flex.skel    flex support file
  151.     libflex.a    flex support library
  152.  
  153. include:
  154.  
  155.     Most BSD-style and SYSV-style include files.  These mostly came from
  156.     the G++ sources.
  157.     sys/*.h      MS-DOS specific
  158.     graphics.h   for libgr.a
  159.     pc.h         for libpc.a
  160.     mouse.h      for mouse routines in libgr.a
  161.  
  162. docs:
  163.  
  164.     readme       this document
  165.     copying      GNU General Public License
  166.     copying.dj   Copyright information for items (C) DJ Delorie
  167.     debug32.doc  instructions for the symbolic debugger
  168.     internal.doc information about how the extender works
  169.     libc.doc     differences and enhancements
  170.     libm.doc     list of implemented functions
  171.     libpc.doc    documentation
  172.     libgr.doc    documentation
  173.  
  174. go32:
  175.  
  176.     sources for the extender.  Requires Turbo C and Turbo Assembler
  177.  
  178. drivers:
  179.  
  180.     VGA and SuperVGA drivers - source and binary.  Use the GO32 environment
  181.     variable to select and configure one of these according to the VGA card
  182.     you have.
  183.  
  184. libsrc:
  185.  
  186.     Sources for the libraries.  These are compiled with gcc.  The makefile
  187.     is set up for NDMAKE.  The source files came from three sources:
  188.     
  189.         (1) Me.  Mostly the system call routines, and some string routines.
  190.             All of libpc.a, libgr.a, libm.a .
  191.         (2) FSF.  These are the GCC support routines, C++ support, and
  192.             other routines that came with gcc (malloc, obstack, alloca, etc)
  193.         (3) BSD.  These are mostly the stdio and stdlib routines, and
  194.             the rest of the string routines.  BSD requires that I mention
  195.             that their sources are copyright BSD and that I have modified
  196.             some to comply with the include files provided by FSF.  These
  197.             sources are the "freed files" everyone keeps talking about.
  198.  
  199. diffs:
  200.  
  201.     Context diffs from the original FSF sources to the GNUDOS sources.  See
  202.     the README and VERSIONS files in that directory for more info.
  203.  
  204. utils:
  205.  
  206.     Sources for djtarx, utod, dtou, split, and merge.
  207.  
  208. samples:
  209.  
  210.     Various samples showing how to use the mouse, graphics, C++, setjmp(),
  211.     etc.
  212.  
  213. emu387:
  214.  
  215.     80387 emulator and source code.  I don't expect this to work perfectly,
  216.     but should cover most normal floating point math.  To use, add
  217.     "emu /djgpp/emu387/emu387" to the GO32 environment variable.  (ie:
  218.     set GO32=emu /djgpp/emu387/emu387)
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227. INSTALLING:
  228.  
  229. To install, you must do the following:
  230.  
  231. * Create a directory to install in, like c:\djgpp.
  232.  
  233. * Create a "temp" directory, like c:\tmp.
  234.  
  235. * Un-zip djgpp.zip in that directory.
  236.     C:\DJGPP> pkunzip -d djgpp.zip
  237.  
  238. * Add the following lines to C:\AUTOEXEC.BAT:
  239.     set GCCBIN=c:\djgpp\bin
  240.                  ^ Use DOS slashes here so that AOUT2EXE.BAT will work
  241.     set GCCINC=c:/djgpp/include
  242.     set GCCLIB=c:/djgpp/lib
  243.     set GCCTMP=c:/tmp
  244.     set GO32TMP=c:/tmp
  245.     set GO32=ansi driver c:/djgpp/drivers/SOMETHING.grd gw 1024 gh 768
  246.                          ^^^ whatever driver works with your VGA (optional)
  247.     set BISON_SIMPLE=c:/djgpp/lib/bison.simple
  248.     set BISON_HAIRY=c:/djgpp/lib/bison.